package sys_mod

// SysTypeSaveReq 新增分类请求的结构体
type SysTypeSaveReq struct {
	TypeId    string `json:"typeId"`
	TypeName  string `json:"typeName" v:"分类名称,string,min=1,max=85"`
	TypeCode  string `json:"typeCode" v:"分类编码,string,min=1"`
	ShortName string `json:"shortName"`
	FullName  string `json:"fullName"`
	QuanPin   string `json:"quanPin"`
	JianPin   string `json:"jianPin"`
	Kind      uint8  `json:"kind" v:"分类种类,number,min=1"`
	ParentId  string `json:"parentId" v:"父级分类,string,min=21,max=21"`
	Sort      uint32 `json:"sort" v:"分类排序,number,min=1"`
	LogoId    string `json:"logoId"`
	LogoUrl   string `json:"logoUrl"`
	LogoName  string `json:"logoName"`
	Remarks   string `json:"remarks"`
	OptOrg    string `json:"optOrg"`
}

// SysTypeExtVo 判断分类重复编码请求的结构体
type SysTypeExtVo struct {
	TypeId   string `json:"typeId"`
	TypeName string `json:"typeName"`
	TypeCode string `json:"typeCode"`
	Kind     uint8  `json:"kind"`
	OptOrg   string `json:"optOrg"`
}

// SysTypeProReq 删除分类请求的结构体
type SysTypeProReq struct {
	Kind    uint8  `json:"kind"`
	OptOrg  string `json:"optOrg"`
	TypeIds string `json:"typeIds" v:"分类编号,string,min=21"`
}

// SysTypeListReq 获取树状分类列表的请求结构体
type SysTypeListReq struct {
	Kind   uint8  `json:"kind"`
	OptOrg string `json:"optOrg"`
}

// SysTypeListRes 获取树状分类列表的结构体
type SysTypeListRes struct {
	TypeId    string `json:"typeId"`
	TypeName  string `json:"typeName"`
	TypeCode  string `json:"typeCode"`
	ShortName string `json:"shortName"`
	LogoId    string `json:"logoId"`
	LogoName  string `json:"logoName"`
	LogoUrl   string `json:"logoUrl"`
	TypeLevel uint8  `json:"typeLevel"`
	ParentId  string `json:"parentId"`
	Sort      uint32 `json:"sort"`
	AddTime   int64  `json:"addTime"`
}

// SysTypeTreeRes 获取树状分类列表的结构体
type SysTypeTreeRes struct {
	SelId    string            `json:"selId"`
	SelName  string            `json:"selName"`
	SelCode  string            `json:"selCode"`
	SelPid   string            `json:"selPid"`
	Chked    bool              `json:"chked"`
	Children []*SysTypeTreeRes `json:"children"`
}

// SysTypeSelRes 分类下拉选择的返回结构体
type SysTypeSelRes struct {
	TypeId   string `json:"typeId"`
	ParentId string `json:"parentId"`
}

// SysTypeSortReq 获取分类数量，用于排序
type SysTypeSortReq struct {
	Kind     uint8  `json:"kind"`
	ParentId string `json:"parentId"`
	OptOrg   string `json:"optOrg"`
}

// SysTypeSelReq 下拉选择分类列表
type SysTypeSelReq struct {
	Kind     uint8  `json:"kind"`
	ParentId string `json:"parentId"`
	OptOrg   string `json:"optOrg"`
}
